package com.hanhai.zrb.api.biz.dao.mybatis;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.hanhai.zrb.api.biz.dao.mybatis.base.BaseMapper;

import com.hanhai.zrb.model.project.CityInfo;
import com.hanhai.zrb.model.project.dto.CityInfoDto;

/**
 * 
 * CityInfoMapper数据库操作接口类
 * 
 **/

public interface CityInfoMapper extends BaseMapper{

	List<CityInfo> selectAll();
	/**
	 * 
	 * 查询（根据主键ID查询）
	 * 
	 **/
	CityInfo  selectByPrimaryKey (Integer id );

	CityInfo selectByPostcode(String postcode);
	/**
	 * 
	 * 删除（根据主键ID删除）
	 * 
	 **/
	int deleteByPrimaryKey (Integer id );

	/**
	 * 
	 * 添加
	 * 
	 **/
	int insert( CityInfo record );

	/**
	 * 
	 * 添加 （匹配有值的字段）
	 * 
	 **/
	int insertSelective( CityInfo record );

	/**
	 * 
	 * 修改 （匹配有值的字段）
	 * 
	 **/
	int updateByPrimaryKeySelective( CityInfo record );

	/**
	 * 
	 * 修改（根据主键ID修改）
	 * 
	 **/
	int updateByPrimaryKey ( CityInfo record );
	
	List<CityInfo> findAllProvince();
	
	List<CityInfo> findCityProvince(@Param("postcode") String postcode );
	
	List<CityInfo> findCountryProvince(@Param("postcode") String postcode,@Param("topCity") String topCity );
	
	List<CityInfo> findChildCity(Integer topId);
	
	CityInfo findByCityName (@Param("cityName") String cityName );
	
	CityInfo findByCityNameAndParentId (@Param("cityName") String cityName,@Param("topId") Integer topId);
	
	List<CityInfo> findByCityAndParentName(@Param("keyWord") String keyWord);
	
	int countCityInfo (CityInfoDto dto);
	
	List<CityInfo> list(CityInfoDto dto);
	List<CityInfo> selectByListPostCode(@Param("list") List<String> list);

}